/*
 * @(#)cn.design.pattern.decorator 2020/4/18/0018
 *
 * Copy Right@ 人人译视界
 */


package cn.design.pattern.decorator;

import java.io.DataInputStream;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.IOException;

/**
 * <pre>
 * @author tuwei
 *
 * @version 0.9
 *
 * 修改版本: 0.9
 * 修改日期: 2020/4/18/0018
 * 修改人 :  tuwei
 * 修改说明: 初步完成
 * 复审人 ：
 * </pre>
 */
public class InputStreamDemo {
	public static void main(String[] args) throws IOException {
		/**
		 * 1.InputStream是抽象类，类似我们的Drink
		 * 2.FileInputStream是InputStream子类，类似我们的DeCaf，LongBlack
		 * 3.FilterInputStream是nputStream子类，类似我们的Decorator
		 * 4.DataInputStream是FilterInputStream子类，具体的修饰者，类似Milk，Soy
		 * 5.FilterInputStream类有protected volatile InputStream in;即含有被装饰者
		 * 6.分析得出在jdk的IO体系中，就是使用装饰者模式
		 */
		DataInputStream dis = new DataInputStream(new FileInputStream("test.txt"));
		System.out.println(dis.read());
		dis.close();
	}
}
